package com.itgaohe.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itgaohe.dao.entity.User;
import com.itgaohe.dao.entity.UserInfo;
import com.itgaohe.dto.requ.LoginRequestDTO;
import com.itgaohe.dto.resp.SearchUserFriendsDTO;
import com.itgaohe.dto.resp.SearchUserInfo;
import com.itgaohe.utils.Result;
import jakarta.servlet.http.HttpServletRequest;

import java.net.http.HttpRequest;
import java.util.List;

public interface UserService extends IService<User> {

    /**
     * 验证码发送
     */
    Result sendCode(String phone);

    /**
     * 用户登入
     */
    Result login(LoginRequestDTO requestParam);

    /**
     * 用户登出
     */
    Result logout(HttpServletRequest request);

    //根据用户id的查询用户的粉丝
    Result findAllFansByUserId(Long UserId, Long currentUserId);

    //根据用户id的查询用户的关注
    Result findAllFollowersByUserId(Long userId, Long currentUserId);

    //用户详细信息查询
    List<UserInfo> findAllUserInfoByUserId(Long userId);

    //根据姓名模糊查询返回用户信息
    Result searchUsersByNickName(String nickName, Long currentUserId);

    //根据用户Id查询好友信息
    Result searchUsersFriends(Long currentUserId);

    //查询用户详情
    Result getMe();

    /**
     * 用户关注功能
     */
    Result toFollow(Long userId, Integer isFollow);

}
